Момент с порчей и миникартой оказался тем что там высота на уровне воды.
Но саму тень я все равно не могу убрать.
А все вопрос снимаю, это тень от здания
Karp, сейчас неохота ставить) Да я им пока что не планирую пользоваться.
Попробуй создавать порчу в определённой точке - может, в переменных косяк?
попробую этот вариант, например в центре региона какого нибудь, но уже завтра =) отпишусь как проверю.
У тебя макс. лвл = 1, а спеллов для изучения 2. В триггере на изучение спелла первым стоит Ледяной щит:D
и триггерно он не хочет учить второй спел получается? понял. Тогда остаётся установить макс лвл на 10 к примеру, и героям отключить получение опыта через триггер?
quq_CCCP, а для багнутого юнита будет работать GetUnitState хп? Просто тогда будет достаточно 2 проверки, при этом не запоминая хп всех юнитов в группе фениксов.
Если у юнита щас 1 хп. и через 5 секунд снова 1 хп - багнутый (ну либо очень невероятное совпадение для динамического хп феникса)
Проблема решена. Обнаружилась довольно неожиданно - заметил, что во время крита герой не разбивал лицо сам себе, начал искать модификаторы атаки - у героя было 3 пустышки с нулевыми значениями на основе "ракет". При всех пустых значениях вылетает невидимая ракета по самому себе.
Если способность имеет свой идентификатор приказа, то сделай активацию способности триггерно путем отдачи приказа типа цель-точка, где точку можно взять в твоем случае как координаты юнита-цели. Должно сработать.
Проблема решается очень просто: отключите оптимизацию скрипта в парсере cJass.
Велики шансы на то, что ниже по коду значение в [1] просто-напросто нигде не используется, и поэтому оптимизатор выпиливает его инициализацию.
незнаю поможет или нет но пробни через кустом скрипт написать это AddUnitAnimationProperties(u, "Alternate", false)
где u - это твой юнит и советую перед ней поставить паузу тригера на 0.1 хотяб
dave_wwid, прикрепляя к "cylinder02" ээфект работает когда модель перемещается в оба направления но изза вращения эффект отображается некорректно. Если прикреплять к другим костям то эффект ленты как и раньше появляется ток когда снаряд движется задом на перед.
Проблему решил поставив в материале галочку на twoside
Незнаю как отловить, когда юниты в радиусе волны. Но можно просто двигать точку с той же скоростью что и волна и в том же направлении и выбирать всех в радиусе. Область действия заклинания в РО написана.
Sprite - крепление для эффекта огня, который появляется при повреждениях, если модель используется для здания или для юнита, классифицируемого в РО как механический.
Тебе нужно именно улучшение или исследование?
Потому что если улучшение, то условие будет выглядеть как-то так: Тип Triggering unit == Юнит, который должен получиться после улучшения.
В редакторе исследования называются улучшениями. Да, мне нужно улучшение
я похоже нашел что искал. нужное условие называлось - "Сравнение типа техники". Этот божественный перевод :/
DoctorDoza, а, это.. Это не то, что ты подумал.
Здесь пишется текст, который будет виден всем игрокам, когда они наводят мышь на пиктограмму юнита/здания/улучшения, если у него есть требования.
То есть перед требованиями идёт надпись "|Cffffff00Требуется:", где "|Cffffff00" - это цветовой код жёлтого цвета (его можно удалить для экономии места), а "Требуется:" - это текст, который будет виден (его можно прописать частично латиницей, что будет незаметно: "Tpeбyeтcя").
После этой надписи уже пишутся сами требования в столбик.
Ни разу не делал карты "чисто стандартного жанра". Т.е. общий жанр определить можно всегда, но нужно чтобы можно было выделить что-то, чем твоя карта реально отличается от себе подобных.
Вот, глянь чуть (щас набегут хомячки с возгласами ОЛОЛО РЕКЛАМА ДОК БЛИН КАК НЕ СТЫДНА)
Ещё у Бородача есть система безорбового отлова урона магический/физический. Но она не ловит тип атаки.
Больше известных мне систем распознавания типа урона нема
Ну, это просто - берёшь и вспоминаешь все необычные карты. Комуниздишь. Профит.
Для инкома можно сделать зависимость от типа ландшафта. Например, чтобы добывали только на мелководье. Или если возле этого здания есть деревья. Или увеличивать инком в зависимости от кол-ва деревьев рядом. Соответственно, ддеревья можно заменить на другие здания, шахты с золотом и вообще на что угодно. Запилить риск и смотреть кол-во войск возле города.
Можно дать расе ферму, на которой игрок будет производить овец/поросят/людишек и забивать их на мясо. Ну или просто быть источником инкома, который бродит где попало.
Можно запилить фракцию варваров, которые будут добывать золото только убивая и ломая здания.
Можно сделать так, чтобы получаемый героем опыт конвертился в золото. И при покупках/постройках тратился.
Урон по дереву можно отследить с помощью хеша и дерева с 1 хп. Каждому дереву на карте поставить в соответствие n единиц жизней. При смерти дерева проигрывать анимацию получения урона и немедленно возрождать, загружать их хеша значение хп, перезаписывать его и сохранять.
Чтоб проверить что урон нанёс именно рабочий - нужно проверять наличие юнитов определённого типа вокруг дерева с соответствующим приказом, цель которого - это дерево. Для отлова цели приказа также юзается система на всё том же хеше. Нужна бд всем абилкам лесорубов.
Насчёт золота сказать трудно. Нужно посмотреть какие есть состояния юнита и какие из них связаны с пребыванием в руднике, приказы и прочее. Подозреваю что юниты вроде рабочих альянса покидают карту когда заходят в рудник. Но это нужно тестить и костылить. Чистого способа нету.
Сделай способности добычи у работников много уровней, и при определённых условиях(здание построено, здание умирает) меняй уровень этой способности у всех рабочих на карте(ну, при создании каждого рабочего, смотри на коилчество таких зданий на карте через отряд, и устанавливай уровень способности у рабочего)
Тогда только триггерно добавлять ресурсы. Еще можно "ковыряясь" через редактирование в РО способности Добывать ресурсы (создание нескольких способностей с различным значением или многоуровневой способности)
Модель исчезает целиком? Если да, то она просто уходит из поля зрения камеры, и модель не является битой, если хочешь видеть модель во время прыжка, сделай либо камеру выше, либо прыжок ниже.
Все, разобрался. Тема закрыта)))~ssbbssc, Не нельзя, просто сама модель очень маленькая а при увеличении ее в игре баф над головой и под моделькой (например аура) становится очень огромным, а модель вроде нормальная
JNGP снимает ограничения (например максимум декорации 20к), если обычным редактором открыть критует. В jngp есть новые гуишные функции, которых нет в обычном, стандартный редактор их не распознает. Юзайте поиск, такой вопрос уже задавали
Делаешь предметную абилку с уровнями, создаешь абилку-пустышку. В скиллы герою даешь пустышку. Отслеживаешь изучение пустышки и в соответствии с ее уровнем апаешь "скрытый" предметный скилл.
Делаешь предметную абилку с уровнями, создаешь абилку-пустышку. В скиллы герою даешь пустышку. Отслеживаешь изучение пустышки и в соответствии с ее уровнем апаешь "скрытый" предметный скилл.
not_name:
я карту посмотрел, да, пытался сделать похожее
только там с очередью приказов шляпа выходит, поэтому я лучше сделаю все визуально
в общем, реализовал, как и говорил выше - при смерти сразу воскрешаю героя на месте гибели, пауза, анимация, таймер, по прошествии таймера - выдаю все нужное, при повторной смерти - забираю
адекватно работает с крестами
Событие каждые 1 сек времени
пауза triggering unit
^ Не имеет смысла, здесь нет triggering unit, исправляй, сообщи об изменениях или неизменениях.
У тя там чета про убийства ещё, но спрятать юнит проиграв анимацию смерти не означает его убийство и из группы он не удаляется, если состоит. Так что имей в виду.
BrEd Pitt, делать через найм юнитов или удалять призванного юнита если превышен лимит еды
а у абилки сбрасывать кд
и выдавать чтото наподобие "нужно построить зикурат"
этот приказ не имеет названия поэтому отдавать его надо по коду
код приказа 851976 bOris, функция для отдачи приказа IssueImmediateOrderById
хз есть ли подобное на гуи
Попробуй событие - входит в регион, ну и проверь что юн ит мертв.
Дефолтные способности сложно отслеживать, многие используют для работы свои методы, как к примеру руны или орбы - они хоть и кастуют спелл нл события каста нету, как и проверки приказа, кулдауна и прочего.
Сейчас не за компом. Но попробуй проверять при событий - юнит использует предмет. Проверяй сколько зарядов было. Вообще-то почти все события говорят нам не то, что случилось (произошло), а то что случится позже (обычно через 0 сек). Например, имеешь манипулирующий итем, который пропадет при нуле зарядов или станет зарядов меньше. Яркий пример, при событий юнит получает урон, там нам оповещают о уроне, который нанесут.
Проверяй кол-во зарядов у манипулирующего.
Если бы это было бы наоборот, то есть позже, нам бы тогда надо было бы проверять есть ли манипулирующий итем в инвентаре героя
Maniac_91, область это хэндл а значит утекает
максимального количества областей ограничивается количеством оперативной памяти (до 2 гигов вроде) и максимальным количеством хэндлов (2 в 32 степени)
больше ни чем EnergyFrost:
Максимум что тебя ожидает- лаги, которые ты получишь из-за утечек, работая с этими областями. Так что старайся не наплодить утечек и все будет окей.
как правило работа со статичными областями не вызывает утечек (если их не копировать)
ограничений на декорации тоже нету к слову (если не юзать устаревший редактор)
8gabriel8, довольно много. Разбиение на отдельные триггеры может помочь от проблем с лимитом операций, но если в этом коде нет циклов, то оно практически бессмысленно. Ради интереса можешь попробовать сохранить карту с конвертированными триггерами, вдруг причина в модуле редактора, который за отрисовку GUI отвечает.
создать.
направить на 128 точек наверх(90)
сделать неперманентным
текст удалится через 3 секунды
текст затухнет до 100% прозрачности через 3 секунды
Вот чёрт. не успел приплюснуть к посту.
Достаточно посмотреть как устроены эти бж функции и все будет понятно.
function OnlyAliveSourcess takes nothing returns boolean // эту функция в кастом код карты, в самом вверху.
return GetUnitTypeId( GetFilterUnit( ) ) == 'hsor' and not ( GetWidgetLife( GetFilterUnit( ) ) < 0.405 or IsUnitType( GetFilterUnit( ), UNIT_TYPE_DEAD ) )
endfunction
//...
call GroupClear( udg_Group ) // это в кастом скрипт твоего триггера
call GroupEnumUnitsInRect( udg_Group, bj_mapInitialPlayableArea, Condition( function OnlyAliveSourcess )) // это в кастом скрипт твоего триггера
Вот без утечек и локейшинов и прочих ненужных действий.
Далее уже делай что хочешь с юнитами в группе
Что такое "назначить пользовательский параметр юнита или предмета" и как им пользоваться?
Используется для сохранения каких-нибудь своих данных в этот конкретный предмет или юнита
Добрые люди, как присвоить глобальной переменной (целочисленной) цену определенного предмета (так чтобы если изменить цену в редакторе объектов, то в редакторе триггеров она сама изменялась) или какая главная характеристика определенного героя (разум, сила, ловкость).
название KillUnit не совсем подходит
я бы назвал killUnitFromUnit или просто killFromUnit Пушистый, а можно проще
define KillUnit(a) = KillUnit2(a)
по поводу правил
название должны соответствовать выполняемой функции
например если логическая переменная хранит жив юнит или нет то называться она должна isAlive или как то так
+ различные правила написания для различных языков
например в java первое слово в названии функции/переменной пишется с маленькой буквы а остальные с большой, а в названиях классов все слова с большой
в jass официальных соглашений нету но близы писали в функциях каждое слово с большой а константы большими буквами разделяя слова _
DenisYulamanov,
Игрок ввел -тест как подстроку
Введеное собщение к примеру 1, 5 = -тест
Установить значение, как введеная строка, 7,введеная длина сообщения
Лимит операций примерно 4 к. А у тебя тут поболее 16к.
Обойти лимит операций можно только разнеся действия в разные потоки. К примеру для через таймер.
PT153, ну call просто вызываешь потоком (он не создает поток), например у тебя в ряд выставлены сверху вниз названия функции со скобочками (и внутри скобок аргументы, а если не берет никаких аргументов, то внутри скобок пусто) и через call вызывает одну за другой последовательно сверху вниз.
call название функции (аргументы)
Допустим первую верхнюю функцию вызвали, и ее обработали, потом поток берет вторую внизу функцию и обрабатывает и т.д. Но у потока есть ограничения в операциях, как только выполнится определенное количество операций, варкрафт экстренно завершает поток и даже не сообщает об этом.
call функция 1()
call функция 2()
......
call функция 999()
Тут хочу обратить внимание и на то, насколько длинный код в этой вызываемой функции. И сколько вызываемой работы потребует: всякие вычисления, бесконечные циклы и другое. Если длинный код у тебя, и кучу циклов, и сами циклы большую работу совершают, то следует разбить на участки или как-то переделать что ли, уменьшить работу цикла и др.
Можно разбить на функции и ...
вызывать через call, но так делать не стоит. Поток вызывает эти функции последовательно.
Нужно делать задержку (через вэйт), например в ИИ-скриптах варкрафта делают задержку, чтобы не было нагрузки. Вместо вэйта можно таймер.
через ExecuteFunc, ExecuteFunc создает отдельный новый поток. информацию про ExecuteFunc скидывал выше.
Если у героя полностью заполнен инвентарь, то герой не сможет подбирать предметы, и ничего с этим сделать нельзя. Исключением являются руны и книги. Сделайте два варианта каждого предмета: пустышку, на основе руны, и настоящий, который хранится в инвентаре героя и имеет реальный эффект. Нет, другого способа нету.
Grok,
FSGUI - использование специальных декораций со сменными текстурами и зон реакции на мышку (не помню уже как они называются) в совокупности с фиксированной камерой для создания полноэкранного меню с произвольным содержимым (открытие такого меню перемещает камеру в специальную локацию, что не всегда удобно т.к. не видно персонажа и им толком нельзя управлять), в том числе так делали инвентари, системы крафта, деревья навыков и много чего другого.
DGUI - развитие идеи FSGUI, только вместо декораций используются юниты со специальной моделью в совокупности с камерой, положение которой полностью управляется из кода - так можно создать иллюзию окон и кнопок прямо на месте, не перемещая камеру в специальную локацию и тем более не мешая управлению персонажем. Учитывая особенности реализации, должно быть понятно, что это работает только с видимой областью, где могут отображаться юниты и совершенно не пригодно для манипуляций с панелью.
ну вот в чём твоя ошибка: Ты изменил название текстуры, а значит ты изменил и пути, тебе нужно зайти в war3modelEditor и там уже открыв модель выбрать вкладку: Windows=>Texture Manager, где будет список текстур, ты удаляешь 1 старую текстуру, которая у тебя была и добавляешь новую, при этом модель с текстурой должны лежать в одной папке, которая не содержит кириллицы (например путь должен быть d:\Users\User\Desktop\moroz - без русских букв ).
Переименовать новую текстуру на старую по идее не имеет смысла, потому что опять же ты сохранил её без текстуры, а => испоганил, накосячил, сломал (называй как хочешь).
Т.е. ты сначала отдаешь от героя в рюкзак, а потом сразу же забираешь из рюкзака герою? И нафига? Нет, я понял, что у тебя с логикой туго, но все равно должен спросить.
Для простоты и аналогичности: создаёшь третьего юнита, кидаешь ему шмот из рюкзака, кидаешь шмот героя в рюкзак, кидаешь из третьего юнита в героя.
Все предметы изночально принадлежать враждебным, юзайте Custom value предмета, если 0 то предмет еще никто не подобрал, значит его получили убив монстра или купили, значит ставим ему custom value с номером игрока (нумеруйте не с 0, а с 1). Легко и просто, правда?
IGOREIK, там четыре события на применение способности.
Пробуй разные, выбери, какое подойдёт лучше.
Вариант 8gabriel8 лучше. Немного дополню. Можно найти модель спецэффекта, который применяется во время включения способности. Посмотреть редакторами моделей (War3ME, например), какой там звук используется. И прописать импортированному звуку этот путь.
» WarCraft 3 / Убрать порчу
» WarCraft 3 / Баг какой то
» WarCraft 3 / Проблема с моделью эффекта
» WarCraft 3 / Сглаз
» WarCraft 3 / Горение Зданий
» WarCraft 3 / Улучшение
» WarCraft 3 / Как сделать баланс в карте для героя?
» WarCraft 3 / Кнопки постройки
» WarCraft 3 / Как узнать тип урона
» WarCraft 3 / Критические ошибки
» WarCraft 3 / Добыча ресурсов
» WarCraft 3 / Высота модели в mdlvis
» WarCraft 3 / Ошибка базы данных триггеров
» WarCraft 3 / Вампиризм
» WarCraft 3 / Призыв юнитов
» WarCraft 3 / Приветствие
» WarCraft 3 / Увеличение карты в размерах.
» WarCraft 3 / Утечка
» WarCraft 3 / Переменные
» WarCraft 3 / Циклы
» WarCraft 3 / Крафт предметов.
» WarCraft 3 / Замена стандартных моделей.
» WarCraft 3 / передача предмета игроку
» WarCraft 3 / Как использовать % ?
» WarCraft 3 / Угол крена